#ifndef _jammit_Tag_h_
#define _jammit_Tag_h_

class Tag {
public:
enum enumTagSource {etsrcUndef, etsrcFile, etsrcDb, etsrcMusicBrainz, etsrcFilePath, etsrcPersonalKnowledge};
	uint64 cleanValueAsInt;
	bool cleanValueAsIntNA; // Can't be stored as an integer
	Value previousValue; // 
	String cleanValue; // Trimmed spaces, stripped non-ascii foreign letters, stripped doublespaces, InitCaps unless recognized in set of reserved words (on internet?)
	String originalValue; // As found, first ever, if iterations have taken place
	bool foundInMusicBrainz;
	bool caseLocked; // Don't change the case; its supposed to be whatever it is, ex: YES, ABBA, AC/DC, NOFX, NIN, R.E.M., UB40, P.O.D., TBWNN
	// Queensrÿche
	String searchValue; // Converted for search string creation, removed non-ASCII characters, And = &, `=>', "=>', multiple spaces one space, DOS-style NL to UNIX-style NL, Leading "The " or "A " or "An" are discarded, discard any, in fact, Don't=Dont, Do Not=>Dont, Isn't=>Aint, Till=>Til, Lily=>Lili, Gurl=>Girl, You=>Ya, Yes=>Yep, Going to=>Gonna, I am=>I'm, strip commas, Cryin'=>Cryin, Crying=>Cryin, 
	// featuring=>feat, feat.=>feat, R.E.M.=>REM, Joan Jett and The Blackhearts=>Jone Jet & Black Hearts, The Jimi Hendrix Experience=>Jim Hendrick Experience, Jeff=>Jef
	// Thomas=>Tom, Tom Petty and the Heartbreakers=>Tom Pety & Heart Breakers
	
	enumTagSource sourceOfTag;
	
	// Field for Currency, fixed decimal?
	
};

#endif

/*

List of eponymous band names
Big D & The Kids Table  
Eric B. & Rakim

1. The first and last words are always capitalized, and all except the words listed below are capitalized.

2. These are lower-case, unless they are the first word or last word.
* articles: a, an, the
* conjunctions: and, but, or, nor
* prepositions that are less than five letters long: at, by, for, from, in, into, of, off, on, onto, out, over, to, up, with
* as (only if it is followed by a noun)

3. Prepositions are sometimes capitalized.
* Prepositions are capitalized when they are the first or last word.
* Prepositions that are part of two-word "phrasal verbs" (Come On, Hold On, etc....) are capitalized.
* Prepositions that are over four letters long. (across, after, among, beyond, ...)

4. These short words are capitalized.
Some people occasionally forget to capitalize these.
* also, be, if, than, that, thus, when
* as (if it is followed by a verb)

A List of Some "Phrasal Verbs"
These are some phrases in which the preposition needs to be capitalized.
Beat Up
Blow Out
Break Down
Break Into
Break Up
Bring Up
Call Off
Call On
Call Up
Carry On
Come Back
Come Down
Come On
Come Out
Come Over
Do Over
Fill In
Fill Out
Find Out
Get Along
Get Around
Get By
Get Over
Get Through
Get Up
Give Back
Give Up
Go Along
Go Away
Go On
Go Over
Hand In
Hang Up
Hold On
Keep On
Keep Up
Leave Out
Let Down
Look For
Look Into
Look Like
Look Out
Look Over
Look Up
Make Out
Make Up
Pack Up
Pass Out
Pick Out
Pick Up
Put Away
Put Off
Put On
Put Out
Put Up
Roll Over
Run Into
Run Out
Run Over
Show Up
Take After
Take Back
Take Off
Take On
Take Up
Talk Back
Talk Over
Throw Away
Try On
Turn Down
Turn In
Turn Off
Turn On
Use Up
Wait On

Here is a virtually complete list of English words that are are NOT capitalized in titles.

Articles: a, an, the

Conjunctions: and, but, or, so, after, before, when, while, since, until, although, even if, because, both...and, either...or, neither...nor, not only...but also

Prepositions: aboard, about, above, absent, across, after, against, along, alongside, amid, amidst, among, amongst, around, as, aslant, astride, at, atop, barring, before, behind, below, beneath, beside, besides, between, beyond, but, by, despite, down, during, except, failing, following, for, from, in, inside, into, like, merry, mid, minus, near, next, notwithstanding, of, off, on, onto, opposite, outside, over, past, plus, regarding, round, save, since, than, through, throughout, till, times, to, toward, towards, under, underneath, unlike, until, up, upon, via, with, within, without

Prepositions; Two words: according to, ahead of, as to, aside from, because of, close to, due to, far from, in to, inside of, instead of, near to, next to, on to, out of, outside of, owing to, prior to, subsequent to

Prepositions; Three words: as far as, as well as, by means of, in accordance with, in addition to, in front of, in place of, in spite of, on account of, on behalf of, on top of, with regard to, in case of

Prepositions; Archaic or infrequently used: anti, betwixt, circa, cum, in lieu of, per, qua, sans, unto, versus, vis-a-vis

Prepositions; Not fully grammaticalized: concerning, considering, regarding

Prepositions; Preposition-like modifiers of quantified noun phrases: apart from, but, except, plus, save

Prepositions; Postpositions: ago, apart, aside, away, hence, notwithstanding, on, through, withal

2pac
.38 special
1349
3 doors down
311
10,000 maniacs
b-52s
blink 182
e40
d4l
eifel 65
eve 6
krs one
mack 10
maroon 5
mc eight
powerman 5000
seven mary three
sevendust
six feet under
sixpence none the richer
sum 41
third eye blind
three days grace
three dog night
three inches of blood
three six mafia
u2
union 13
us3
KJ-52
*/

/*
http://en.wikipedia.org/wiki/List_of_band_name_etymologies

Character: 	Converted Value: 	Comments:
(Blank = space)
LEADING BLANKS 	Delete 	 
TRAILING BLANKS 	Delete 	 
MULTIPLE BLANKS 	Blank 	Compress to a single blank.
LETTERS 	  	Convert all letters to the same case (upper or lower).
DIACRITICS 	Delete 	Miagkiy znak, alif, ayn, tverdyi znak, pseudo question mark, grave, acute, circumflex, tilde, macron, breve, superior dot, umlaut or dieresis, hacek, angstrom, ligature, high comma off center, double acute, candrabindu, cedilla, right hook, dot below character, double dot below character, circle below character, double underscore, underscore, left hook, right cedilla, double tilde, high comma centered, middle dot, upadhmaniya

http://www.loc.gov/catdir/pcc/naco/normrule.html

*/
